package com.tcm.pay.domain.dto;

import java.io.Serializable;

/**
 * 聚合支付
 */
public class AggregatePayDTO implements Serializable {

    /**
     * 一麻袋的商户号  不可空
     */
    private String merchantNo;

    private String code;

    /**
     * 商户请求交易流水号    不可空
     */
    private String merchantOrderNo;

    /**
     * 支付方式
     * 银联云闪付：AppAggrePay
     * 微信APP：WxAppPay
     * 微信小程序(公众号)：WxJsapi_OnLine，(线上)
     * WxJsapi_OffLine(线下)
     * 支付宝小程序：AliJsapiPay_OnLine，AliJsapiPay_OffLine
     * TradeCodePay(行业码支付)
     */
    private String payType;

    /**
     * 支付金额     不可空
     */
    private String amount;

    /**
     * 订单标题     支付方式为AppAggrePay可空，其余不可空
     */
    private String subject;

    /**
     * 订单描述     支付方式为AppAggrePay可空，其余不可空
     */
    private String desc;

    /**
     * 入驻公司标示   商户入驻接口得到的公司标示  支付宝与微信不可空
     */
    private String companyNo;

    /**
     * 随机字符串    不可空
     */
    private String randomStr;

    /**
     * 签名信息     不可空
     */
    private String signInfo;

    /**
     * 异步通知地址   不可空
     */
    private String adviceUrl;

    /**
     * 页面通知地址   可空
     */
    private String returnUrl;

    /**
     * 小程序appid     微信不可空
     */
    private String subAppid;

    /**
     * 微信openid/支付宝userid   微信和支付宝不可空
     */
    private String userId;

    /**
     * 限制支付方式   可空
     * 支付宝（当有多个渠道时用“,”分隔）：moneyFund（余额宝），
     * pcredit（花呗），creditCard（信用卡），
     * credit_group（信用支付类型（包含信用卡卡通、信用卡快捷、花呗、花呗分期））
     * 微信：no_credit（限制用户不能使用信用卡）
     */
    private String limitPayChannel;

    /**
     * 可用支付方式   可空
     * 支付宝（当有多个渠道时用“,”分隔）：moneyFund（余额宝），
     * pcredit（花呗），creditCard（信用卡），
     * credit_group（信用支付类型（包含信用卡卡通、信用卡快捷、花呗、花呗分期））
     */
    private String enablePayChannel;


    private String orderTime;

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getMerchantNo() {
        return merchantNo;
    }

    public void setMerchantNo(String merchantNo) {
        this.merchantNo = merchantNo;
    }

    public String getMerchantOrderNo() {
        return merchantOrderNo;
    }

    public void setMerchantOrderNo(String merchantOrderNo) {
        this.merchantOrderNo = merchantOrderNo;
    }

    public String getPayType() {
        return payType;
    }

    public void setPayType(String payType) {
        this.payType = payType;
    }

    public String getAmount() {
        return amount;
    }

    public void setAmount(String amount) {
        this.amount = amount;
    }

    public String getSubject() {
        return subject;
    }

    public void setSubject(String subject) {
        this.subject = subject;
    }

    public String getDesc() {
        return desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }

    public String getCompanyNo() {
        return companyNo;
    }

    public void setCompanyNo(String companyNo) {
        this.companyNo = companyNo;
    }

    public String getRandomStr() {
        return randomStr;
    }

    public void setRandomStr(String randomStr) {
        this.randomStr = randomStr;
    }

    public String getSignInfo() {
        return signInfo;
    }

    public void setSignInfo(String signInfo) {
        this.signInfo = signInfo;
    }

    public String getAdviceUrl() {
        return adviceUrl;
    }

    public void setAdviceUrl(String adviceUrl) {
        this.adviceUrl = adviceUrl;
    }

    public String getReturnUrl() {
        return returnUrl;
    }

    public void setReturnUrl(String returnUrl) {
        this.returnUrl = returnUrl;
    }

    public String getSubAppid() {
        return subAppid;
    }

    public void setSubAppid(String subAppid) {
        this.subAppid = subAppid;
    }

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getLimitPayChannel() {
        return limitPayChannel;
    }

    public void setLimitPayChannel(String limitPayChannel) {
        this.limitPayChannel = limitPayChannel;
    }

    public String getEnablePayChannel() {
        return enablePayChannel;
    }

    public void setEnablePayChannel(String enablePayChannel) {
        this.enablePayChannel = enablePayChannel;
    }

    public String getOrderTime() {
        return orderTime;
    }

    public void setOrderTime(String orderTime) {
        this.orderTime = orderTime;
    }

}
